The present invention relates to a computer system having a graphically-oriented user interface. More particularly, the invention relates to a system and method for selecting one of a plurality of overlapping or intersecting graphic images at a location on the graphic display of the computer system.
Computer systems are known in which the user interacts with the system through a graphically-oriented interface. The user can run application programs, manipulate files and perform many other functions by manipulating graphic images on the computer's graphic display. User control may be achieved by cursor control keys on the computer keyboard, a cursor controlling peripheral device, such as a mouse, joystick or track ball, or other control input devices, such as in a pen-based or voice-based system. The graphic images can represent a number of elements in a computer program. For example, programs and data can be shown as "windows" or icons on the display, where each window or icon represents a different application program or data file. Within a particular application program, such as a computer-aided design (CAD) or drawing program, elements are depicted on the graphic display as different figures or icons. For example, in a CAD logic design package, an AND function is identified by the common symbol for an AND gate, and the interconnections among gates are shown as lines or wires. A drawing package can contain representations of common objects such as a line, a two-dimensional box or a three-dimensional cube.
The process of selecting a particular object for manipulation within a graphically-oriented user interface environment can present a problem if several objects are located in the area to which the cursor points. For example, a number of objects might intersect or overlap at a common location in a two-dimensional graphic display, making it unclear which of the objects the cursor is referencing. The user cannot be certain which object is being selected if the user indicates through the cursor-controlling device that an object is to be selected. So, for example, if a mouse is used for cursor control, and the user clicks on a mouse button to select one of the overlapping images, the incorrect object may be selected, since the cursor referenced an image other than the one desired by the user. In a three-dimensional environment, if the cursor is positioned on one surface of a cube, for example, it is not clear if the cursor is pointing to the front surface or the rear surface, which lies underneath the cube's front surface in the graphic display. The problem is further complicated if another object is contained within the cube, since it is then unclear if the cursor is pointing to the cube's front surface or rear surface, or any of the surfaces of the object inside the cube.
Current computer systems address the above problem by allowing the user to reject an object that has been selected by default by the cursor in favor of the one desired by the user. For example, using the simple example of a drawing program including a cube in three-dimensional space on a graphic display, the user may seek to select the rear surface of the cube for the purpose of manipulating that surface only. The user may wish to move the selected surface or change its size, for example. If the cursor is in a position where it could be pointing to either the front or rear surface of the cube, the default selection made by the computer system might be the front surface of the cube. The system would confirm whether this default selection was the one actually desired by the user. The user would then have to reject the selection of the front surface, causing the computer system to present the rear surface as the selected object, which the user would accept. This selection process is already rather tedious if the cursor points to two or three objects at a location. Where a multi-surfaced object is located inside of a cube in three-dimensional space on the graphic display of a computer system, a current selection process would require the user to cycle through four or more possible objects before settling on the desired one. Even worse, if the user accidentally rejected the desired object while cycling through all of the possible objects to be selected, the user would have to repeat the entire cycle to return to the object or surface that was actually meant to be selected.
Thus, a computer system is desired which includes a graphically-oriented user interface that eliminates the tedious and error-prone nature of selecting one of a plurality of objects in a graphic display.